import Mock from 'mockjs2'
import { builder } from '../util'

// const info = options => {
//   console.log('options', options)
//   const userInfo = {
//     id: '4291d7da9005377ec9aec4a71ea837f',
//     name: '天野远子',
//     username: 'admin',
//     password: '',
//     avatar: '/avatar2.jpg',
//     status: 1,
//     telephone: '',
//     lastLoginIp: '27.154.74.117',
//     lastLoginTime: 1534837621348,
//     creatorId: 'admin',
//     createTime: 1497160610259,
//     merchantCode: 'TLif2btpzg079h15bk',
//     deleted: 0,
//     roleId: 'admin',
//     role: {}
//   }
//   // role
//   const roleObj = {
//     id: 'admin',
//     name: '管理员',
//     describe: '拥有所有权限',
//     status: 1,
//     creatorId: 'system',
//     createTime: 1497160610259,
//     deleted: 0,
//     permissions: [
//       {
//         roleId: 'admin',
//         permissionId: 'dashboard',
//         permissionName: '仪表盘',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'exception',
//         permissionName: '异常页面权限',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'result',
//         permissionName: '结果权限',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'profile',
//         permissionName: '详细页权限',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'table',
//         permissionName: '表格权限',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'import',
//             describe: '导入',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'form',
//         permissionName: '表单权限',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'order',
//         permissionName: '订单管理',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'permission',
//         permissionName: '权限管理',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'role',
//         permissionName: '角色管理',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'table',
//         permissionName: '桌子管理',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'query',
//             describe: '查询',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       },
//       {
//         roleId: 'admin',
//         permissionId: 'user',
//         permissionName: '用户管理',
//         actions:
//           '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
//         actionEntitySet: [
//           {
//             action: 'add',
//             describe: '新增',
//             defaultCheck: false
//           },
//           {
//             action: 'import',
//             describe: '导入',
//             defaultCheck: false
//           },
//           {
//             action: 'get',
//             describe: '详情',
//             defaultCheck: false
//           },
//           {
//             action: 'update',
//             describe: '修改',
//             defaultCheck: false
//           },
//           {
//             action: 'delete',
//             describe: '删除',
//             defaultCheck: false
//           },
//           {
//             action: 'export',
//             describe: '导出',
//             defaultCheck: false
//           }
//         ],
//         actionList: null,
//         dataAccess: null
//       }
//     ]
//   }
//
//   roleObj.permissions.push({
//     roleId: 'admin',
//     permissionId: 'support',
//     permissionName: '超级模块',
//     actions:
//       '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
//     actionEntitySet: [
//       {
//         action: 'add',
//         describe: '新增',
//         defaultCheck: false
//       },
//       {
//         action: 'import',
//         describe: '导入',
//         defaultCheck: false
//       },
//       {
//         action: 'get',
//         describe: '详情',
//         defaultCheck: false
//       },
//       {
//         action: 'update',
//         describe: '修改',
//         defaultCheck: false
//       },
//       {
//         action: 'delete',
//         describe: '删除',
//         defaultCheck: false
//       },
//       {
//         action: 'export',
//         describe: '导出',
//         defaultCheck: false
//       }
//     ],
//     actionList: null,
//     dataAccess: null
//   })
//
//   userInfo.role = roleObj
//   return builder(userInfo)
// }

/**
 * 使用 用户登录的 token 获取用户有权限的菜单
 * 返回结构必须按照这个结构体形式处理，或根据
 * /src/router/generator-routers.js  文件的菜单结构处理函数对应即可
 * @param {*} options
 * @returns
 */
const userNav = options => {
  const nav = [
    // dashboard
    // {
    //   name: 'dashboard',
    //   parentId: 0,
    //   id: 1,
    //   meta: {
    //     icon: 'dashboard',
    //     title: '仪表盘',
    //     show: true
    //   },
    //   component: 'RouteView',
    //   redirect: '/dashboard/workplace'
    // },
    // {
    //   name: 'workplace',
    //   parentId: 1,
    //   id: 7,
    //   meta: {
    //     title: '工作台',
    //     show: true
    //   },
    //   component: 'Workplace'
    // },
    // {
    //   name: 'monitor',
    //   path: 'https://www.baidu.com/',
    //   parentId: 1,
    //   id: 3,
    //   meta: {
    //     title: '监控页（外部）',
    //     target: '_blank',
    //     show: true
    //   }
    // },
    {
      name: 'Analysis',
      parentId: 0,
      id: 2,
      meta: {
        title: '分析页',
        show: true
      },
      component: 'Analysis',
      path: '/dashboard/analysis'
    },

    // form
    // {
    //   name: 'form',
    //   parentId: 0,
    //   id: 10,
    //   meta: {
    //     icon: 'form',
    //     title: '表单页'
    //   },
    //   redirect: '/form/base-form',
    //   component: 'RouteView'
    // },
    // {
    //   name: 'basic-form',
    //   parentId: 10,
    //   id: 6,
    //   meta: {
    //     title: '基础表单'
    //   },
    //   component: 'BasicForm'
    // },
    // {
    //   name: 'step-form',
    //   parentId: 10,
    //   id: 5,
    //   meta: {
    //     title: '分步表单'
    //   },
    //   component: 'StepForm'
    // },
    // {
    //   name: 'advanced-form',
    //   parentId: 10,
    //   id: 4,
    //   meta: {
    //     title: '高级表单'
    //   },
    //   component: 'AdvanceForm'
    // },

    // list
    // {
    //   name: 'list',
    //   parentId: 0,
    //   id: 10010,
    //   meta: {
    //     icon: 'table',
    //     title: '列表页',
    //     show: true
    //   },
    //   redirect: '/list/table-list',
    //   component: 'RouteView'
    // },
    // {
    //   name: 'table-list',
    //   parentId: 10010,
    //   id: 10011,
    //   path: '/list/table-list/:pageNo([1-9]\\d*)?',
    //   meta: {
    //     title: '查询表格',
    //     show: true
    //   },
    //   component: 'TableList'
    // },
    // {
    //   name: 'basic-list',
    //   parentId: 10010,
    //   id: 10012,
    //   meta: {
    //     title: '标准列表',
    //     show: true
    //   },
    //   component: 'StandardList'
    // },
    // {
    //   name: 'card',
    //   parentId: 10010,
    //   id: 10013,
    //   meta: {
    //     title: '卡片列表',
    //     show: true
    //   },
    //   component: 'CardList'
    // },
    // {
    //   name: 'search',
    //   parentId: 10010,
    //   id: 10014,
    //   meta: {
    //     title: '搜索列表',
    //     show: true
    //   },
    //   redirect: '/list/search/article',
    //   component: 'SearchLayout'
    // },
    // {
    //   name: 'article',
    //   parentId: 10014,
    //   id: 10015,
    //   meta: {
    //     title: '搜索列表（文章）',
    //     show: true
    //   },
    //   component: 'SearchArticles'
    // },
    // {
    //   name: 'project',
    //   parentId: 10014,
    //   id: 10016,
    //   meta: {
    //     title: '搜索列表（项目）',
    //     show: true
    //   },
    //   component: 'SearchProjects'
    // },
    // {
    //   name: 'application',
    //   parentId: 10014,
    //   id: 10017,
    //   meta: {
    //     title: '搜索列表（应用）',
    //     show: true
    //   },
    //   component: 'SearchApplications'
    // },

    // profile
    // {
    //   name: 'profile',
    //   parentId: 0,
    //   id: 10018,
    //   meta: {
    //     title: '详情页',
    //     icon: 'profile',
    //     show: true
    //   },
    //   redirect: '/profile/basic',
    //   component: 'RouteView'
    // },
    // {
    //   name: 'basic',
    //   parentId: 10018,
    //   id: 10019,
    //   meta: {
    //     title: '基础详情页',
    //     show: true
    //   },
    //   component: 'ProfileBasic'
    // },
    // {
    //   name: 'advanced',
    //   parentId: 10018,
    //   id: 10020,
    //   meta: {
    //     title: '高级详情页',
    //     show: true
    //   },
    //   component: 'ProfileAdvanced'
    // },ProfileAdvanced

    // result
    // {
    //   name: 'result',
    //   parentId: 0,
    //   id: 10021,
    //   meta: {
    //     title: '结果页',
    //     icon: 'check-circle-o',
    //     show: true
    //   },
    //   redirect: '/result/success',
    //   component: 'PageView'
    // },
    // {
    //   name: 'success',
    //   parentId: 10021,
    //   id: 10022,
    //   meta: {
    //     title: '成功',
    //     hiddenHeaderContent: true,
    //     show: true
    //   },
    //   component: 'ResultSuccess'
    // },
    // {
    //   name: 'fail',
    //   parentId: 10021,
    //   id: 10023,
    //   meta: {
    //     title: '失败',
    //     hiddenHeaderContent: true,
    //     show: true
    //   },
    //   component: 'ResultFail'
    // },

    // Exception
    // {
    //   name: 'exception',
    //   parentId: 0,
    //   id: 10024,
    //   meta: {
    //     title: '异常页',
    //     icon: 'warning',
    //     show: true
    //   },
    //   redirect: '/exception/403',
    //   component: 'RouteView'
    // },
    // {
    //   name: '403',
    //   parentId: 10024,
    //   id: 10025,
    //   meta: {
    //     title: '403',
    //     show: true
    //   },
    //   component: 'Exception403'
    // },
    // {
    //   name: '404',
    //   parentId: 10024,
    //   id: 10026,
    //   meta: {
    //     title: '404',
    //     show: true
    //   },
    //   component: 'Exception404'
    // },
    // {
    //   name: '500',
    //   parentId: 10024,
    //   id: 10027,
    //   meta: {
    //     title: '500',
    //     show: true
    //   },
    //   component: 'Exception500'
    // },

    // account
    {
      name: 'account',
      parentId: 0,
      id: 10028,
      meta: {
        title: '个人页',
        icon: 'user',
        show: false
      },
      redirect: '/account/center',
      component: 'RouteView'
    },
    {
      name: 'center',
      parentId: 10028,
      id: 10029,
      meta: {
        title: '个人中心',
        show: false
      },
      component: 'AccountCenter'
    },
    // 特殊三级菜单
    {
      name: 'settings',
      parentId: 10028,
      id: 10030,
      meta: {
        title: '个人设置',
        hideHeader: true,
        hideChildren: true,
        show: true
      },
      redirect: '/account/settings/basic',
      component: 'AccountSettings'
    },
    {
      name: 'BasicSettings',
      path: '/account/settings/basic',
      parentId: 10030,
      id: 10031,
      meta: {
        title: '基本设置',
        show: false
      },
      component: 'BasicSetting'
    },
    {
      name: 'SecuritySettings',
      path: '/account/settings/security',
      parentId: 10030,
      id: 10032,
      meta: {
        title: '安全设置',
        show: false
      },
      component: 'SecuritySettings'
    },
    {
      name: 'CustomSettings',
      path: '/account/settings/custom',
      parentId: 10030,
      id: 10033,
      meta: {
        title: '个性化设置',
        show: false
      },
      component: 'CustomSettings'
    },
    {
      name: 'BindingSettings',
      path: '/account/settings/binding',
      parentId: 10030,
      id: 10034,
      meta: {
        title: '账户绑定',
        show: false
      },
      component: 'BindingSettings'
    },
    {
      name: 'NotificationSettings',
      path: '/account/settings/notification',
      parentId: 10030,
      id: 10034,
      meta: {
        title: '新消息通知',
        show: false
      },
      component: 'NotificationSettings'
    },
    // {
    //   name: 'retry-config',
    //   parentId: 0,
    //   id: 10035,
    //   meta: {
    //     title: '重试配置页',
    //     show: true,
    //     icon: 'warning'
    //   },
    //   redirect: '/form/base-form',
    //   component: 'RouteView'
    // },
    {
      name: 'basic-config-list',
      parentId: 0,
      id: 10036,
      meta: {
        title: '组管理',
        show: true
      },
      component: 'GroupList'
    },
    {
      name: 'SceneList',
      parentId: 0,
      id: 10036,
      meta: {
        title: '场景管理',
        show: true
      },
      component: 'GroupList',
      path: 'scene-list'
    },
    {
      name: 'basic-config',
      parentId: 0,
      id: 10037,
      meta: {
        title: '基础信息配置',
        show: false
      },
      component: 'BasicConfigForm'
    },
    {
      name: 'retry-task-list',
      parentId: 0,
      id: 10101,
      meta: {
        title: '任务管理',
        show: true
      },
      component: 'RetryTask'
    },
    {
      name: 'retry-dead-letter-list',
      parentId: 0,
      id: 10102,
      meta: {
        title: '死信队列管理',
        show: true
      },
      component: 'RetryDeadLetterList'
    },
    {
      name: 'RetryLogList',
      parentId: 0,
      id: 10102,
      meta: {
        title: '重试日志',
        show: true
      },
      component: 'RetryDeadLetterList',
      path: 'retry-log-list'
    },
    {
      name: 'UserList',
      parentId: 0,
      id: 10102,
      meta: {
        title: '用户管理',
        show: true,
        permission: ['admin']
      },
      component: 'RetryDeadLetterList',
      path: 'user-list'
    }
  ]
  const json = builder(nav)
  console.log('json', json)
  return json
}

// Mock.mock(/\/api\/user\/info/, 'get', info)
Mock.mock(/\/api\/user\/nav/, 'get', userNav)
